﻿using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Linq.Expressions;
using System.Text;

namespace IBll
{
    public interface IBaseBll<T> where T : class,new()
    {
        #region 增加

        /// <summary>
        /// 增加（基础服务）
        /// </summary>
        void Add(T entity);

        #endregion

        #region 删除

        /// <summary>
        /// 删除（基础服务）
        /// </summary>
        bool Delete(T entity);

        #endregion

        #region 修改

        /// <summary>
        /// 修改（基础服务）
        /// </summary>
        bool Update(T entity);

        #endregion

        #region 查询

        /// <summary>
        /// 主键查询（基础服务）
        /// </summary>
        T Get(object id);

        /// <summary>
        /// 查询所有（基础服务）
        /// </summary>
        List<T> GetList();

        /// <summary>
        /// 分页查询（基础服务）
        /// </summary>
        List<T> GetListByPage(int pageSize, int pageIndex, out int total);

        #endregion

    }
}
